﻿
namespace PhoneNetTools.Dns
{
    /// <summary>
    /// Possible response codes defined in RFC 1035.
    /// </summary>
    public enum ResponseCode
    {
        /// <summary>
        /// Signals a successful response (no error).
        /// </summary>
        NoError = 0,
        /// <summary>
        /// The name server was unable to interpret the query.
        /// </summary>
        FormatError = 1,
        /// <summary>
        /// The name server was unable to process this query due to a problem with the name server.
        /// </summary>
        ServerFailure = 2,
        /// <summary>
        /// Meaningful only for responses from an authoritative name server, 
        /// this code signifies that the domain name referenced in the query does not exist.
        /// </summary>
        NameError = 3,
        /// <summary>
        /// The name server does not support the requested kind of query.
        /// </summary>
        NotImplemented = 4,
        /// <summary>
        /// The name server refuses to perform the specified operation for policy reasons.
        /// For example, a name server may not wish to provide the information to the particular requester, 
        /// or a name server may not wish to perform a particular operation (e.g., zone transfer) for particular data.
        /// </summary>
        Refused = 5,
        /// <summary>
        /// Reserved for future use.
        /// </summary>
        Reserved6,
        /// <summary>
        /// Reserved for future use.
        /// </summary>
        Reserved7,
        /// <summary>
        /// Reserved for future use.
        /// </summary>
        Reserved8,/// <summary>
        /// Reserved for future use.
        /// </summary> 
        Reserved9,
        /// <summary>
        /// Reserved for future use.
        /// </summary>
        Reserved10,
        /// <summary>
        /// Reserved for future use.
        /// </summary>
        Reserved11,
        /// <summary>
        /// Reserved for future use.
        /// </summary>
        Reserved12,
        /// <summary>
        /// Reserved for future use.
        /// </summary>
        Reserved13,
        /// <summary>
        /// Reserved for future use.
        /// </summary>
        Reserved14,
        /// <summary>
        /// Reserved for future use.
        /// </summary>
        Reserved15
    }
}
